package application;

import org.atovio.structure.application.FileCompress;

import java.io.*;

/**
 * 压缩文件，并将对应的压缩对象实例化，以便日后解压缩时使用
 * @author AtoVio, Winter Yuan
 * @version 1.0
 */
public class FileCompressTest01 {
    public static void main(String[] args) throws IOException {
        // 原文件
        File origin = new File("TestFile/origin01.txt");
        // 获取压缩对象
        FileCompress compress = new FileCompress(origin);
        // 将文件压缩并写入到指定路径下
        compress.encode(origin,new File("TestFile/compressed01.txt"));

        // 啊？把压缩对象序列化了，谁干的啊。和测试压缩文件不沾边
        // 我懂了。每个文件的字符集和权重都是唯一的，所以创建的压缩对象也是唯一的。
        // 在解压文件时，也必须是同一个压缩对象；而为了便利，序列化后可以到处使用。
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("TestFile/object1"));
        oos.writeObject(compress);
        oos.flush();
        oos.close();
    }
}
